CSSStyleDeclaration = newFunc('CSSStyleDeclaration', 10, function CSSStyleDeclaration() {
    print('new CSSStyleDeclaration')
    let objs = {
        "accentColor": "",
        "additiveSymbols": "",
        "alignContent": "",
        "alignItems": "",
        "alignSelf": "",
        "alignmentBaseline": "",
        "all": "",
        "anchorName": "",
        "anchorScope": "",
        "animation": "",
        "animationComposition": "",
        "animationDelay": "",
        "animationDirection": "",
        "animationDuration": "",
        "animationFillMode": "",
        "animationIterationCount": "",
        "animationName": "",
        "animationPlayState": "",
        "animationRange": "",
        "animationRangeEnd": "",
        "animationRangeStart": "",
        "animationTimeline": "",
        "animationTimingFunction": "",
        "appRegion": "",
        "appearance": "",
        "ascentOverride": "",
        "aspectRatio": "",
        "backdropFilter": "",
        "backfaceVisibility": "",
        "background": "",
        "backgroundAttachment": "",
        "backgroundBlendMode": "",
        "backgroundClip": "",
        "backgroundColor": "",
        "backgroundImage": "",
        "backgroundOrigin": "",
        "backgroundPosition": "",
        "backgroundPositionX": "",
        "backgroundPositionY": "",
        "backgroundRepeat": "",
        "backgroundSize": "",
        "basePalette": "",
        "baselineShift": "",
        "baselineSource": "",
        "blockSize": "",
        "border": "",
        "borderBlock": "",
        "borderBlockColor": "",
        "borderBlockEnd": "",
        "borderBlockEndColor": "",
        "borderBlockEndStyle": "",
        "borderBlockEndWidth": "",
        "borderBlockStart": "",
        "borderBlockStartColor": "",
        "borderBlockStartStyle": "",
        "borderBlockStartWidth": "",
        "borderBlockStyle": "",
        "borderBlockWidth": "",
        "borderBottom": "",
        "borderBottomColor": "",
        "borderBottomLeftRadius": "",
        "borderBottomRightRadius": "",
        "borderBottomStyle": "",
        "borderBottomWidth": "",
        "borderCollapse": "",
        "borderColor": "",
        "borderEndEndRadius": "",
        "borderEndStartRadius": "",
        "borderImage": "",
        "borderImageOutset": "",
        "borderImageRepeat": "",
        "borderImageSlice": "",
        "borderImageSource": "",
        "borderImageWidth": "",
        "borderInline": "",
        "borderInlineColor": "",
        "borderInlineEnd": "",
        "borderInlineEndColor": "",
        "borderInlineEndStyle": "",
        "borderInlineEndWidth": "",
        "borderInlineStart": "",
        "borderInlineStartColor": "",
        "borderInlineStartStyle": "",
        "borderInlineStartWidth": "",
        "borderInlineStyle": "",
        "borderInlineWidth": "",
        "borderLeft": "",
        "borderLeftColor": "",
        "borderLeftStyle": "",
        "borderLeftWidth": "",
        "borderRadius": "",
        "borderRight": "",
        "borderRightColor": "",
        "borderRightStyle": "",
        "borderRightWidth": "",
        "borderSpacing": "",
        "borderStartEndRadius": "",
        "borderStartStartRadius": "",
        "borderStyle": "",
        "borderTop": "",
        "borderTopColor": "",
        "borderTopLeftRadius": "",
        "borderTopRightRadius": "",
        "borderTopStyle": "",
        "borderTopWidth": "",
        "borderWidth": "",
        "bottom": "",
        "boxDecorationBreak": "",
        "boxShadow": "",
        "boxSizing": "",
        "breakAfter": "",
        "breakBefore": "",
        "breakInside": "",
        "bufferedRendering": "",
        "captionSide": "",
        "caretColor": "",
        "clear": "",
        "clip": "",
        "clipPath": "",
        "clipRule": "",
        "color": "",
        "colorInterpolation": "",
        "colorInterpolationFilters": "",
        "colorRendering": "",
        "colorScheme": "",
        "columnCount": "",
        "columnFill": "",
        "columnGap": "",
        "columnRule": "",
        "columnRuleColor": "",
        "columnRuleStyle": "",
        "columnRuleWidth": "",
        "columnSpan": "",
        "columnWidth": "",
        "columns": "",
        "contain": "",
        "containIntrinsicBlockSize": "",
        "containIntrinsicHeight": "",
        "containIntrinsicInlineSize": "",
        "containIntrinsicSize": "",
        "containIntrinsicWidth": "",
        "container": "",
        "containerName": "",
        "containerType": "",
        "content": "",
        "contentVisibility": "",
        "counterIncrement": "",
        "counterReset": "",
        "counterSet": "",
        "cursor": "",
        "cx": "",
        "cy": "",
        "d": "",
        "descentOverride": "",
        "direction": "",
        "display": "",
        "dominantBaseline": "",
        "emptyCells": "",
        "fallback": "",
        "fieldSizing": "",
        "fill": "",
        "fillOpacity": "",
        "fillRule": "",
        "filter": "",
        "flex": "",
        "flexBasis": "",
        "flexDirection": "",
        "flexFlow": "",
        "flexGrow": "",
        "flexShrink": "",
        "flexWrap": "",
        "float": "",
        "floodColor": "",
        "floodOpacity": "",
        "font": "",
        "fontDisplay": "",
        "fontFamily": "",
        "fontFeatureSettings": "",
        "fontKerning": "",
        "fontOpticalSizing": "",
        "fontPalette": "",
        "fontSize": "",
        "fontSizeAdjust": "",
        "fontStretch": "",
        "fontStyle": "",
        "fontSynthesis": "",
        "fontSynthesisSmallCaps": "",
        "fontSynthesisStyle": "",
        "fontSynthesisWeight": "",
        "fontVariant": "",
        "fontVariantAlternates": "",
        "fontVariantCaps": "",
        "fontVariantEastAsian": "",
        "fontVariantEmoji": "",
        "fontVariantLigatures": "",
        "fontVariantNumeric": "",
        "fontVariantPosition": "",
        "fontVariationSettings": "",
        "fontWeight": "",
        "forcedColorAdjust": "",
        "gap": "",
        "grid": "",
        "gridArea": "",
        "gridAutoColumns": "",
        "gridAutoFlow": "",
        "gridAutoRows": "",
        "gridColumn": "",
        "gridColumnEnd": "",
        "gridColumnGap": "",
        "gridColumnStart": "",
        "gridGap": "",
        "gridRow": "",
        "gridRowEnd": "",
        "gridRowGap": "",
        "gridRowStart": "",
        "gridTemplate": "",
        "gridTemplateAreas": "",
        "gridTemplateColumns": "",
        "gridTemplateRows": "",
        "height": "",
        "hyphenateCharacter": "",
        "hyphenateLimitChars": "",
        "hyphens": "",
        "imageOrientation": "",
        "imageRendering": "",
        "inherits": "",
        "initialLetter": "",
        "initialValue": "",
        "inlineSize": "",
        "inset": "",
        "insetBlock": "",
        "insetBlockEnd": "",
        "insetBlockStart": "",
        "insetInline": "",
        "insetInlineEnd": "",
        "insetInlineStart": "",
        "interpolateSize": "",
        "isolation": "",
        "justifyContent": "",
        "justifyItems": "",
        "justifySelf": "",
        "left": "",
        "letterSpacing": "",
        "lightingColor": "",
        "lineBreak": "",
        "lineGapOverride": "",
        "lineHeight": "",
        "listStyle": "",
        "listStyleImage": "",
        "listStylePosition": "",
        "listStyleType": "",
        "margin": "",
        "marginBlock": "",
        "marginBlockEnd": "",
        "marginBlockStart": "",
        "marginBottom": "",
        "marginInline": "",
        "marginInlineEnd": "",
        "marginInlineStart": "",
        "marginLeft": "",
        "marginRight": "",
        "marginTop": "",
        "marker": "",
        "markerEnd": "",
        "markerMid": "",
        "markerStart": "",
        "mask": "",
        "maskClip": "",
        "maskComposite": "",
        "maskImage": "",
        "maskMode": "",
        "maskOrigin": "",
        "maskPosition": "",
        "maskRepeat": "",
        "maskSize": "",
        "maskType": "",
        "mathDepth": "",
        "mathShift": "",
        "mathStyle": "",
        "maxBlockSize": "",
        "maxHeight": "",
        "maxInlineSize": "",
        "maxWidth": "",
        "minBlockSize": "",
        "minHeight": "",
        "minInlineSize": "",
        "minWidth": "",
        "mixBlendMode": "",
        "navigation": "",
        "negative": "",
        "objectFit": "",
        "objectPosition": "",
        "objectViewBox": "",
        "offset": "",
        "offsetAnchor": "",
        "offsetDistance": "",
        "offsetPath": "",
        "offsetPosition": "",
        "offsetRotate": "",
        "opacity": "",
        "order": "",
        "orphans": "",
        "outline": "",
        "outlineColor": "",
        "outlineOffset": "",
        "outlineStyle": "",
        "outlineWidth": "",
        "overflow": "",
        "overflowAnchor": "",
        "overflowClipMargin": "",
        "overflowWrap": "",
        "overflowX": "",
        "overflowY": "",
        "overlay": "",
        "overrideColors": "",
        "overscrollBehavior": "",
        "overscrollBehaviorBlock": "",
        "overscrollBehaviorInline": "",
        "overscrollBehaviorX": "",
        "overscrollBehaviorY": "",
        "pad": "",
        "padding": "",
        "paddingBlock": "",
        "paddingBlockEnd": "",
        "paddingBlockStart": "",
        "paddingBottom": "",
        "paddingInline": "",
        "paddingInlineEnd": "",
        "paddingInlineStart": "",
        "paddingLeft": "",
        "paddingRight": "",
        "paddingTop": "",
        "page": "",
        "pageBreakAfter": "",
        "pageBreakBefore": "",
        "pageBreakInside": "",
        "pageOrientation": "",
        "paintOrder": "",
        "perspective": "",
        "perspectiveOrigin": "",
        "placeContent": "",
        "placeItems": "",
        "placeSelf": "",
        "pointerEvents": "",
        "position": "",
        "positionAnchor": "",
        "positionArea": "",
        "positionTry": "",
        "positionTryFallbacks": "",
        "positionTryOrder": "",
        "positionVisibility": "",
        "prefix": "",
        "quotes": "",
        "r": "",
        "range": "",
        "resize": "",
        "right": "",
        "rotate": "",
        "rowGap": "",
        "rubyAlign": "",
        "rubyPosition": "",
        "rx": "",
        "ry": "",
        "scale": "",
        "scrollBehavior": "",
        "scrollMargin": "",
        "scrollMarginBlock": "",
        "scrollMarginBlockEnd": "",
        "scrollMarginBlockStart": "",
        "scrollMarginBottom": "",
        "scrollMarginInline": "",
        "scrollMarginInlineEnd": "",
        "scrollMarginInlineStart": "",
        "scrollMarginLeft": "",
        "scrollMarginRight": "",
        "scrollMarginTop": "",
        "scrollPadding": "",
        "scrollPaddingBlock": "",
        "scrollPaddingBlockEnd": "",
        "scrollPaddingBlockStart": "",
        "scrollPaddingBottom": "",
        "scrollPaddingInline": "",
        "scrollPaddingInlineEnd": "",
        "scrollPaddingInlineStart": "",
        "scrollPaddingLeft": "",
        "scrollPaddingRight": "",
        "scrollPaddingTop": "",
        "scrollSnapAlign": "",
        "scrollSnapStop": "",
        "scrollSnapType": "",
        "scrollTimeline": "",
        "scrollTimelineAxis": "",
        "scrollTimelineName": "",
        "scrollbarColor": "",
        "scrollbarGutter": "",
        "scrollbarWidth": "",
        "shapeImageThreshold": "",
        "shapeMargin": "",
        "shapeOutside": "",
        "shapeRendering": "",
        "size": "",
        "sizeAdjust": "",
        "speak": "",
        "speakAs": "",
        "src": "",
        "stopColor": "",
        "stopOpacity": "",
        "stroke": "",
        "strokeDasharray": "",
        "strokeDashoffset": "",
        "strokeLinecap": "",
        "strokeLinejoin": "",
        "strokeMiterlimit": "",
        "strokeOpacity": "",
        "strokeWidth": "",
        "suffix": "",
        "symbols": "",
        "syntax": "",
        "system": "",
        "tabSize": "",
        "tableLayout": "",
        "textAlign": "",
        "textAlignLast": "",
        "textAnchor": "",
        "textCombineUpright": "",
        "textDecoration": "",
        "textDecorationColor": "",
        "textDecorationLine": "",
        "textDecorationSkipInk": "",
        "textDecorationStyle": "",
        "textDecorationThickness": "",
        "textEmphasis": "",
        "textEmphasisColor": "",
        "textEmphasisPosition": "",
        "textEmphasisStyle": "",
        "textIndent": "",
        "textOrientation": "",
        "textOverflow": "",
        "textRendering": "",
        "textShadow": "",
        "textSizeAdjust": "",
        "textSpacingTrim": "",
        "textTransform": "",
        "textUnderlineOffset": "",
        "textUnderlinePosition": "",
        "textWrap": "",
        "textWrapMode": "",
        "textWrapStyle": "",
        "timelineScope": "",
        "top": "",
        "touchAction": "",
        "transform": "",
        "transformBox": "",
        "transformOrigin": "",
        "transformStyle": "",
        "transition": "",
        "transitionBehavior": "",
        "transitionDelay": "",
        "transitionDuration": "",
        "transitionProperty": "",
        "transitionTimingFunction": "",
        "translate": "",
        "types": "",
        "unicodeBidi": "",
        "unicodeRange": "",
        "userSelect": "",
        "vectorEffect": "",
        "verticalAlign": "",
        "viewTimeline": "",
        "viewTimelineAxis": "",
        "viewTimelineInset": "",
        "viewTimelineName": "",
        "viewTransitionClass": "",
        "viewTransitionName": "",
        "visibility": "",
        "webkitAlignContent": "",
        "webkitAlignItems": "",
        "webkitAlignSelf": "",
        "webkitAnimation": "",
        "webkitAnimationDelay": "",
        "webkitAnimationDirection": "",
        "webkitAnimationDuration": "",
        "webkitAnimationFillMode": "",
        "webkitAnimationIterationCount": "",
        "webkitAnimationName": "",
        "webkitAnimationPlayState": "",
        "webkitAnimationTimingFunction": "",
        "webkitAppRegion": "",
        "webkitAppearance": "",
        "webkitBackfaceVisibility": "",
        "webkitBackgroundClip": "",
        "webkitBackgroundOrigin": "",
        "webkitBackgroundSize": "",
        "webkitBorderAfter": "",
        "webkitBorderAfterColor": "",
        "webkitBorderAfterStyle": "",
        "webkitBorderAfterWidth": "",
        "webkitBorderBefore": "",
        "webkitBorderBeforeColor": "",
        "webkitBorderBeforeStyle": "",
        "webkitBorderBeforeWidth": "",
        "webkitBorderBottomLeftRadius": "",
        "webkitBorderBottomRightRadius": "",
        "webkitBorderEnd": "",
        "webkitBorderEndColor": "",
        "webkitBorderEndStyle": "",
        "webkitBorderEndWidth": "",
        "webkitBorderHorizontalSpacing": "",
        "webkitBorderImage": "",
        "webkitBorderRadius": "",
        "webkitBorderStart": "",
        "webkitBorderStartColor": "",
        "webkitBorderStartStyle": "",
        "webkitBorderStartWidth": "",
        "webkitBorderTopLeftRadius": "",
        "webkitBorderTopRightRadius": "",
        "webkitBorderVerticalSpacing": "",
        "webkitBoxAlign": "",
        "webkitBoxDecorationBreak": "",
        "webkitBoxDirection": "",
        "webkitBoxFlex": "",
        "webkitBoxOrdinalGroup": "",
        "webkitBoxOrient": "",
        "webkitBoxPack": "",
        "webkitBoxReflect": "",
        "webkitBoxShadow": "",
        "webkitBoxSizing": "",
        "webkitClipPath": "",
        "webkitColumnBreakAfter": "",
        "webkitColumnBreakBefore": "",
        "webkitColumnBreakInside": "",
        "webkitColumnCount": "",
        "webkitColumnGap": "",
        "webkitColumnRule": "",
        "webkitColumnRuleColor": "",
        "webkitColumnRuleStyle": "",
        "webkitColumnRuleWidth": "",
        "webkitColumnSpan": "",
        "webkitColumnWidth": "",
        "webkitColumns": "",
        "webkitFilter": "",
        "webkitFlex": "",
        "webkitFlexBasis": "",
        "webkitFlexDirection": "",
        "webkitFlexFlow": "",
        "webkitFlexGrow": "",
        "webkitFlexShrink": "",
        "webkitFlexWrap": "",
        "webkitFontFeatureSettings": "",
        "webkitFontSmoothing": "",
        "webkitHyphenateCharacter": "",
        "webkitJustifyContent": "",
        "webkitLineBreak": "",
        "webkitLineClamp": "",
        "webkitLocale": "",
        "webkitLogicalHeight": "",
        "webkitLogicalWidth": "",
        "webkitMarginAfter": "",
        "webkitMarginBefore": "",
        "webkitMarginEnd": "",
        "webkitMarginStart": "",
        "webkitMask": "",
        "webkitMaskBoxImage": "",
        "webkitMaskBoxImageOutset": "",
        "webkitMaskBoxImageRepeat": "",
        "webkitMaskBoxImageSlice": "",
        "webkitMaskBoxImageSource": "",
        "webkitMaskBoxImageWidth": "",
        "webkitMaskClip": "",
        "webkitMaskComposite": "",
        "webkitMaskImage": "",
        "webkitMaskOrigin": "",
        "webkitMaskPosition": "",
        "webkitMaskPositionX": "",
        "webkitMaskPositionY": "",
        "webkitMaskRepeat": "",
        "webkitMaskSize": "",
        "webkitMaxLogicalHeight": "",
        "webkitMaxLogicalWidth": "",
        "webkitMinLogicalHeight": "",
        "webkitMinLogicalWidth": "",
        "webkitOpacity": "",
        "webkitOrder": "",
        "webkitPaddingAfter": "",
        "webkitPaddingBefore": "",
        "webkitPaddingEnd": "",
        "webkitPaddingStart": "",
        "webkitPerspective": "",
        "webkitPerspectiveOrigin": "",
        "webkitPerspectiveOriginX": "",
        "webkitPerspectiveOriginY": "",
        "webkitPrintColorAdjust": "",
        "webkitRtlOrdering": "",
        "webkitRubyPosition": "",
        "webkitShapeImageThreshold": "",
        "webkitShapeMargin": "",
        "webkitShapeOutside": "",
        "webkitTapHighlightColor": "",
        "webkitTextCombine": "",
        "webkitTextDecorationsInEffect": "",
        "webkitTextEmphasis": "",
        "webkitTextEmphasisColor": "",
        "webkitTextEmphasisPosition": "",
        "webkitTextEmphasisStyle": "",
        "webkitTextFillColor": "",
        "webkitTextOrientation": "",
        "webkitTextSecurity": "",
        "webkitTextSizeAdjust": "",
        "webkitTextStroke": "",
        "webkitTextStrokeColor": "",
        "webkitTextStrokeWidth": "",
        "webkitTransform": "",
        "webkitTransformOrigin": "",
        "webkitTransformOriginX": "",
        "webkitTransformOriginY": "",
        "webkitTransformOriginZ": "",
        "webkitTransformStyle": "",
        "webkitTransition": "",
        "webkitTransitionDelay": "",
        "webkitTransitionDuration": "",
        "webkitTransitionProperty": "",
        "webkitTransitionTimingFunction": "",
        "webkitUserDrag": "",
        "webkitUserModify": "",
        "webkitUserSelect": "",
        "webkitWritingMode": "",
        "whiteSpace": "",
        "whiteSpaceCollapse": "",
        "widows": "",
        "width": "",
        "willChange": "",
        "wordBreak": "",
        "wordSpacing": "",
        "wordWrap": "",
        "writingMode": "",
        "x": "",
        "y": "",
        "zIndex": "",
        "zoom": ""
    }

    Object.keys(objs).forEach(e => {
        this[e] = objs[e]
    })
    mm.memory.private_data.set(this, {
        length: Object.keys(objs).length
    })
})


Object.defineProperties(CSSStyleDeclaration.prototype, {
    cssText: {

        get: newFunc('cssText', 10, function cssText() {
            let res = mm.memory.private_data.get(this).cssText;
            if (debug) print('CSSStyleDeclaration.cssText.get', res)

            return res
        }, {get: true}), enumerable: true, configurable: true,


        set: newFunc('cssText', 1, function cssText(value) {
            if (debug) print('CSSStyleDeclaration.cssText.set', value)
            mm.memory.private_data.get(this).cssText = value

        }, {set: true}), enumerable: true, configurable: true,


    },
    length: {
        get: newFunc('length', 2, function () {
            return mm.memory.private_data.get(this).length
        })
    },
    parentRule: {

        get: newFunc('parentRule', 10, function parentRule() {
            let res = mm.memory.private_data.get(this).parentRule;
            if (debug) print('CSSStyleDeclaration.parentRule.get', res)

            return res
        }, {get: true}), enumerable: true, configurable: true,

    },
    cssFloat: {

        get: newFunc('cssFloat', 10, function cssFloat() {
            let res = mm.memory.private_data.get(this).cssFloat;
            if (debug) print('CSSStyleDeclaration.cssFloat.get', res)

            return res
        }, {get: true}), enumerable: true, configurable: true,


        set: newFunc('cssFloat', 1, function cssFloat(value) {
            if (debug) print('CSSStyleDeclaration.cssFloat.set', value)
            mm.memory.private_data.get(this).cssFloat = value

        }, {set: true}), enumerable: true, configurable: true,


    },
    getPropertyPriority: {

        value: newFunc('getPropertyPriority', 10, function getPropertyPriority() {
            if (debug) print('CSSStyleDeclaration.getPropertyPriority.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    getPropertyValue: {

        value: newFunc('getPropertyValue', 10, function getPropertyValue() {
            if (debug) print('CSSStyleDeclaration.getPropertyValue.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    item: {

        value: newFunc('item', 10, function item() {
            if (debug) print('CSSStyleDeclaration.item.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    removeProperty: {

        value: newFunc('removeProperty', 10, function removeProperty() {
            if (debug) print('CSSStyleDeclaration.removeProperty.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    setProperty: {

        value: newFunc('setProperty', 10, function setProperty() {
            if (debug) print('CSSStyleDeclaration.setProperty.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    constructor: {

        value: newFunc('constructor', 10, function constructor() {
            if (debug) print('CSSStyleDeclaration.constructor.call', arguments)

        }), writable: true, enumerable: false, configurable: true,


    },
})


css = newFunc('CSS', 1, function CSS() {
})
CSS = new css()

Object.defineProperties(CSS, {
    Hz: {

        value: newFunc('Hz', 10, function Hz() {
            if (debug) print('CSS.Hz.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    Q: {

        value: newFunc('Q', 10, function Q() {
            if (debug) print('CSS.Q.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    ch: {

        value: newFunc('ch', 10, function ch() {
            if (debug) print('CSS.ch.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    cm: {

        value: newFunc('cm', 10, function cm() {
            if (debug) print('CSS.cm.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    cqb: {

        value: newFunc('cqb', 10, function cqb() {
            if (debug) print('CSS.cqb.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    cqh: {

        value: newFunc('cqh', 10, function cqh() {
            if (debug) print('CSS.cqh.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    cqi: {

        value: newFunc('cqi', 10, function cqi() {
            if (debug) print('CSS.cqi.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    cqmax: {

        value: newFunc('cqmax', 10, function cqmax() {
            if (debug) print('CSS.cqmax.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    cqmin: {

        value: newFunc('cqmin', 10, function cqmin() {
            if (debug) print('CSS.cqmin.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    cqw: {

        value: newFunc('cqw', 10, function cqw() {
            if (debug) print('CSS.cqw.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    deg: {

        value: newFunc('deg', 10, function deg() {
            if (debug) print('CSS.deg.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    dpcm: {

        value: newFunc('dpcm', 10, function dpcm() {
            if (debug) print('CSS.dpcm.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    dpi: {

        value: newFunc('dpi', 10, function dpi() {
            if (debug) print('CSS.dpi.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    dppx: {

        value: newFunc('dppx', 10, function dppx() {
            if (debug) print('CSS.dppx.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    em: {

        value: newFunc('em', 10, function em() {
            if (debug) print('CSS.em.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    escape: {

        value: newFunc('escape', 10, function escape() {
            if (debug) print('CSS.escape.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    ex: {

        value: newFunc('ex', 10, function ex() {
            if (debug) print('CSS.ex.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    fr: {

        value: newFunc('fr', 10, function fr() {
            if (debug) print('CSS.fr.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    grad: {

        value: newFunc('grad', 10, function grad() {
            if (debug) print('CSS.grad.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    in: {

        value: newFunc('in', 10, function () {
            if (debug) print('CSS.in.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    kHz: {

        value: newFunc('kHz', 10, function kHz() {
            if (debug) print('CSS.kHz.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    mm: {

        value: newFunc('mm', 10, function mm() {
            if (debug) print('CSS.mm.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    ms: {

        value: newFunc('ms', 10, function ms() {
            if (debug) print('CSS.ms.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    number: {

        value: newFunc('number', 10, function number() {
            if (debug) print('CSS.number.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    pc: {

        value: newFunc('pc', 10, function pc() {
            if (debug) print('CSS.pc.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    percent: {

        value: newFunc('percent', 10, function percent() {
            if (debug) print('CSS.percent.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    pt: {

        value: newFunc('pt', 10, function pt() {
            if (debug) print('CSS.pt.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    px: {

        value: newFunc('px', 10, function px() {
            if (debug) print('CSS.px.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    rad: {

        value: newFunc('rad', 10, function rad() {
            if (debug) print('CSS.rad.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    registerProperty: {

        value: newFunc('registerProperty', 10, function registerProperty() {
            if (debug) print('CSS.registerProperty.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    rem: {

        value: newFunc('rem', 10, function rem() {
            if (debug) print('CSS.rem.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    s: {

        value: newFunc('s', 10, function s() {
            if (debug) print('CSS.s.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    supports: {

        value: newFunc('supports', 10, function supports() {
            if (debug) print('CSS.supports.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    turn: {

        value: newFunc('turn', 10, function turn() {
            if (debug) print('CSS.turn.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    vh: {

        value: newFunc('vh', 10, function vh() {
            if (debug) print('CSS.vh.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    vmax: {

        value: newFunc('vmax', 10, function vmax() {
            if (debug) print('CSS.vmax.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    vmin: {

        value: newFunc('vmin', 10, function vmin() {
            if (debug) print('CSS.vmin.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    vw: {

        value: newFunc('vw', 10, function vw() {
            if (debug) print('CSS.vw.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    highlights: {

        get: newFunc('highlights', 10, function highlights() {
            let res = mm.memory.private_data.get(this).highlights;
            if (debug) print('CSS.highlights.get', res)

            return res
        }, {get: true}), enumerable: true, configurable: true,

    },
    cap: {

        value: newFunc('cap', 10, function cap() {
            if (debug) print('CSS.cap.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    rcap: {

        value: newFunc('rcap', 10, function rcap() {
            if (debug) print('CSS.rcap.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    dvb: {

        value: newFunc('dvb', 10, function dvb() {
            if (debug) print('CSS.dvb.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    dvh: {

        value: newFunc('dvh', 10, function dvh() {
            if (debug) print('CSS.dvh.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    dvi: {

        value: newFunc('dvi', 10, function dvi() {
            if (debug) print('CSS.dvi.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    dvmax: {

        value: newFunc('dvmax', 10, function dvmax() {
            if (debug) print('CSS.dvmax.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    dvmin: {

        value: newFunc('dvmin', 10, function dvmin() {
            if (debug) print('CSS.dvmin.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    dvw: {

        value: newFunc('dvw', 10, function dvw() {
            if (debug) print('CSS.dvw.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    lvb: {

        value: newFunc('lvb', 10, function lvb() {
            if (debug) print('CSS.lvb.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    lvh: {

        value: newFunc('lvh', 10, function lvh() {
            if (debug) print('CSS.lvh.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    lvi: {

        value: newFunc('lvi', 10, function lvi() {
            if (debug) print('CSS.lvi.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    lvmax: {

        value: newFunc('lvmax', 10, function lvmax() {
            if (debug) print('CSS.lvmax.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    lvmin: {

        value: newFunc('lvmin', 10, function lvmin() {
            if (debug) print('CSS.lvmin.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    lvw: {

        value: newFunc('lvw', 10, function lvw() {
            if (debug) print('CSS.lvw.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    svb: {

        value: newFunc('svb', 10, function svb() {
            if (debug) print('CSS.svb.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    svh: {

        value: newFunc('svh', 10, function svh() {
            if (debug) print('CSS.svh.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    svi: {

        value: newFunc('svi', 10, function svi() {
            if (debug) print('CSS.svi.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    svmax: {

        value: newFunc('svmax', 10, function svmax() {
            if (debug) print('CSS.svmax.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    svmin: {

        value: newFunc('svmin', 10, function svmin() {
            if (debug) print('CSS.svmin.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    svw: {

        value: newFunc('svw', 10, function svw() {
            if (debug) print('CSS.svw.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    vb: {

        value: newFunc('vb', 10, function vb() {
            if (debug) print('CSS.vb.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    vi: {

        value: newFunc('vi', 10, function vi() {
            if (debug) print('CSS.vi.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    ic: {

        value: newFunc('ic', 10, function ic() {
            if (debug) print('CSS.ic.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    lh: {

        value: newFunc('lh', 10, function lh() {
            if (debug) print('CSS.lh.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    rch: {

        value: newFunc('rch', 10, function rch() {
            if (debug) print('CSS.rch.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    rex: {

        value: newFunc('rex', 10, function rex() {
            if (debug) print('CSS.rex.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    ric: {

        value: newFunc('ric', 10, function ric() {
            if (debug) print('CSS.ric.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    rlh: {

        value: newFunc('rlh', 10, function rlh() {
            if (debug) print('CSS.rlh.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    x: {

        value: newFunc('x', 10, function x() {
            if (debug) print('CSS.x.call', arguments)

        }), writable: true, enumerable: true, configurable: true,


    },
    paintWorklet: {

        get: newFunc('paintWorklet', 10, function paintWorklet() {
            let res = mm.memory.private_data.get(this).paintWorklet;
            if (debug) print('CSS.paintWorklet.get', res)

            return res
        }, {get: true}), enumerable: true, configurable: true,

    },
})
